package com.parking.order.model.dto.orderDtos;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 各种各样实际返回的订单信息Dto
 * 相比于完成Dto = OrderInfoDto
 * 1.平台
 * 2.用户 不需要 userInfoId/Tel/Name/userCarId/userCarPlate/carContacks/carContacksTek
 * 3.物业 不需要 certifiedInfoId/Name/Tel/Address  stallInfoId/stallInfo/stallType
 * 4.出租客 不需要 stallInfoId/stallInfo/stallType
 * A.进行/预定
 * B.超时 需要 carContacks/carContacksTek (用户超时不需要)
 * C.取消 需要 orderCancelTime
 * D.完成 需要 commentScore
 * */
@Data
public class OrderDto1C {
    /**
     * 订单编号
     * */
    private String orderInfoNum;
    /**
     * (二级)订单状态
     * */
    private String orderState;
    /**
     * 用户信息Id
     * */
    private Integer userInfoId;
    /**
     * 用户名称
     * */
    private String userInfoName;
    /**
     * 用户电话
     * */
    private String userInfoTel;
    /**
     * 用户车辆Id
     * */
    private Integer userCarId;
    /**
     * 车牌号
     * */
    private String userCarPlate;
    /**
     * 物业信息Id
     * */
    private Integer certifiedInfoId;
    /**
     * 物业名称
     * */
    private String certifiedInfoName;
    /**
     * 物业电话
     * */
    private String certifiedInfoTel;
    /**
     * 物业地址
     * */
    private String certifiedInfoAddress;
    /**
     * 车位信息Id
     * */
    private Integer stallInfoId;
    /**
     * 车位号
     * */
    private String stallInfo;
    /**
     * 车位类型
     * */
    private String stallType;
    /**
     * 开始时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime startTime;
    /**
     * 结束时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime endTime;
    /**
     * 持续小时
     * */
    private Integer enduHour;
    /**
     * 订单价格
     * */
    private BigDecimal orderPrice;
    /**
     * 订单添加时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderAddTime;
    /**
     * 订单支付时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderPayTime;
    /**
     * 订单取消时间
     * */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime orderCancelTime;
}
